Skip to content

Conversation

@jamadeo
Copy link
Collaborator

@jamadeo jamadeo commented Aug 8, 2025

Lets you set up an MCP server (stdio only for now), some interactions (tool calling only for now) and record the whole thing to a session replay file. Then commit the replay and result files and the test will run the interaction through the extension manager.

This works by using two new binaries included in this PR: one that sits in front of a stdio server, writing all i/o to a replay file, and one that reads said replay file and mimics the behavior of the recorded session.

@jamadeo jamadeo requested review from DOsinga and alexhancock August 8, 2025 04:02
Copy link
Collaborator

@alexhancock alexhancock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It LGTM! My only ideas for slight improvement to ergonomics

  1. Maybe name the replayer something like "validator"?
  2. I wonder if the binaries could easily be combined into a single module with --mode record || validate maybe it slightly easier to expand functionality in future

@jamadeo
Copy link
Collaborator Author

jamadeo commented Aug 12, 2025

Thanks @alexhancock good points -- made a single binary with a transport mode that will invite us to do the same for streamable http extensions.

@jamadeo jamadeo merged commit 2eca4b8 into main Aug 12, 2025
11 checks passed
@jamadeo jamadeo deleted the jackamadeo/mcp-integration-test branch August 12, 2025 18:03
katzdave added a commit that referenced this pull request Aug 12, 2025
* 'main' of github.com:block/goose:
  feat: ToolError migration to ErrorData (#4051)
  docs: rename sessions (#4053)
  Add mcp automated testing blog (#4004)
  MCP session replay integration test (#3939)
  Docs: Cost tracking in CLI (#4043)
  sanitize message content on deserialization (#3966)
zanesq added a commit that referenced this pull request Aug 13, 2025
* 'main' of github.com:block/goose: (120 commits)
  Docs: Troubleshooting tip - Nodejs path on windows (#4065)
  fix: flag out uncompilable bit in windows (#4068)
  ci: fix docs-only filter to properly skip tests for documentation changes (#4066)
  fix: ctrl-C interruption in the CLI (#4057)
  docs: mcp-ui support (#4049)
  fix: delete dialog layout (#4037)
  ci: fix markdown file pattern to skip builds for all .md files (#4061)
  docs: add window title (#4059)
  blog: cleaning up some posts (#4050)
  fix: this should be a debug message not a warn (#4024)
  Better provider logging (#4052)
  feat: ToolError migration to ErrorData (#4051)
  docs: rename sessions (#4053)
  Add mcp automated testing blog (#4004)
  MCP session replay integration test (#3939)
  Docs: Cost tracking in CLI (#4043)
  sanitize message content on deserialization (#3966)
  Move summarize button inside of context view (#4015)
  blog: post on lead/worker model (#3994)
  Actually send cancellation to MCP servers (#3865)
  ...
ayax79 pushed a commit to ayax79/goose that referenced this pull request Aug 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants